#ifndef UUID_E985E14421174D9B629BC9A1557DB5C4
#define UUID_E985E14421174D9B629BC9A1557DB5C4

#include "byteio.h"

typedef struct serialize_context_
{
	int status; // Status set to non-zero when yielding is necessary

	uint32_t c_low, c_range;

	uint32_t d_low, d_code, d_range;

	uint32_t message_end_queue;
	uint32_t cur_message_end;
	uint32_t empty_bytes;

	bytewriter writer;
	bytereader reader;
} serialize_context;

serialize_context* serialize_create(lua_State* L);

#endif /* UUID_E985E14421174D9B629BC9A1557DB5C4 */
